package com.itheima.ssm.controller;

import com.itheima.ssm.domain.Product;
import com.itheima.ssm.service.IProductService;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Controller;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.servlet.ModelAndView;

import java.util.List;

/**
 * ProductBean的Controller层
 */
@Controller
@RequestMapping("/product") // 设置该文件的地址映射
public class ProductController {

    @Autowired
    private IProductService iProductService;

    @RequestMapping("/save.do")
    public String save(Product product) {
        iProductService.save(product);
        // findAll.do就是查询所有数据封装到数据和模型对象中返回
        return "redirect:findAll.do"; // 此时springmvc会自动补全成项目路径(通多视图配置的解析器)，然后重定向到产品列表页面
    }

    @RequestMapping("/findAll.do") // 规范写法
    public ModelAndView findAll() throws Exception {
        ModelAndView mv = new ModelAndView(); // 视图和模型对象
        List<Product> productList = iProductService.findAll();
        mv.addObject("productList",productList);
        mv.setViewName("product-list"); // 设置视图（展示的页面）
        return mv;
    }
}
